ABSTRACT
The internet of things (IoT) attracts great interest in many application domains concerned with monitoring and control of physical phenomena. IoT applications try to provide more and more functionality and then they inevitably become so complex as to make the limits of devices worse, which may lead to poor performance of applications. Computation offloading is a promising way to improve the performance of an IoT application by executing some parts of the application on remote devices or servers. However, supporting such capability is not easy for application developers due to (1) adaptability: IoT applications often face changes of runtime environments so that the adaptation on offloading is needed. (2) effectiveness: when the device context changes, it needs to dynamically decide the deployment plan of computation tasks, and the reduced execution time must be greater than the network delay and extra overheads caused by offloading. This paper proposes a framework which supports IoT applications with adaptive computation offloading capability. First, a design pattern is proposed to enable an application to be computation offloaded on-demand. Second, an estimation model is presented to automatically decide the deployment plan for offloading. Third, a framework is implemented to support the design pattern and the estimation model. A thorough evaluation on the real-world application is proposed, and the results show that our approach can help reduce execution time by over 45% in most scenarios.
- Flavio Bonomi, Rodolfo Milito, Preethi Natarajan, Jiang Zhu. Fog Computing: A Platform for Internet of Things and Analytics. Big Data and Internet of Things: A Roadmap for Smart Environments, 2014, 546: 169--186.Google ScholarCross Ref
- Ioana Giurgiu, Oriana Riva, Dejan Juric, Ivan Krivulev, Gustavo Alonso. Calling the Cloud: Enabling Mobile Phones as Interfaces to Cloud Applications. In: Proc. of the 10th ACM/IFIP/USENIX International Conference on Middleware, 2009, 5896: 83--102. Google ScholarCross Ref
- Android Application Requirements, www.netmite.com/android/mydroid/development/pdk/docs/system requirementsGoogle Scholar
- Kun Yang, Shumao Ou, Hsiao-Hwa Chen. On effective offloading services for resource-constrained mobile devices running heavier mobile Internet applications. IEEE Communications Magazine, 2008, 46(1): 56--63 Google ScholarDigital Library
- Junxian Huang, Qiang Xu, Birjodh Tiwana, Z. Morley Mao, Ming Zhang, Paramvir Bahl. Anatomizing application performance differences on smartphones. In: Proc. of the 8th international conference on Mobile systems, applications, and services, 2010, pp. 165--178.Google ScholarDigital Library
- Joseph A Paradiso, Thad Starner. Energy Scavenging for Mobile and Wireless Electronics. IEEE Pervasive Computing, 2005, 4(1): 18--27. Google ScholarDigital Library
- Rajesh Balan, Jason Flinn, M. Satyanarayanan, Shafeeq Sinnamohideen, Hen-I Yang. The case for cyber foraging. In: Proc. of the 10th workshop on ACM SIGOPS European workshop, 2002, pp. 87--92. Google ScholarDigital Library
- Tommi Kallonen, Jari Porras. Use of distributed resources in mobile environment. In: Proc. of IEEE International Conference on Software in Telecommunications and Computer Networks, 2006, pp. 281--285. Google ScholarCross Ref
- Byung-Gon Chun, Petros Maniatis. Augmented Smartphone Applications Through Clone Cloud Execution. In: Proc. of the 12th conference on Hot topics in operating systems, 2009, pp. 8--8.Google Scholar
- Jason Flinn, Dushyanth Narayanan, M. Satyanarayanan. Self-tuned remote execution for pervasive computing. In: Proc. of the Eighth Workshop on Hot Topics in Operating Systems, 2001, pp. 61--66. Google ScholarCross Ref
- Alan Messer, Ira Greenberg, Philippe Bernadat, Dejan Milojicic, Deqing Chen, T. J. Giuli, Xiaohui Gu. Towards a Distributed Platform for Resource-Constrained Devices. In: Proc. of the 22 nd International Conference on Distributed Computing Systems (ICDCS'02), 2002, pp. 43--51. Google ScholarCross Ref
- Adam Wolbach, Jan Harkes, Srinivas Chellappa, M. Satyanarayanan. Transient customization of mobile computing infrastructure. In: Proc. of the First Workshop on Virtualization in Mobile Computing, 2008, pp. 37--41 Google ScholarDigital Library
- Michael Philippsen, Matthias Zenger. JavaParty -- transparent remote objects in Java. Concurrency Practice & Experience, 2003, 9(11): 1225--1242. Google ScholarCross Ref
- Roelof Kemp, Nicholas Palmer, Thilo Kielmann, Henri Bal. Cuckoo: A Computation Offloading Framework for Smartphones. Mobile Computing, Applications, and Services. Springer Berlin Heidelberg, 2012, pp. 59--79.Google Scholar
- Ying Zhang, Gang Huang, Xuanzhe Liu, Wei Zhang, Hong Mei, Shunxiang Yang. Refactoring android Java code for on-demand computation offloading. In: Proc. of the ACM international conference on Object oriented programming systems languages and applications, 2012, 47(10): 233--248. Google ScholarDigital Library
- Zixue Cheng, et al. "Just-in-Time Code Offloading for Wearable Computing." IEEE Transactions on Emerging Topics in Computing3.1(2015):74--83. Google ScholarCross Ref
- Anuradha Ravi, Sateesh K. Peddoju. Handoff Strategy for Improving Energy Efficiency and Cloud Service Availability for Mobile Devices. Wireless Personal Communications, 2014, 81(1): 101--132. Google ScholarDigital Library
Recommendations
Exploring computation offloading in IoT systems
AbstractInternet of Things (IoT) paradigm raises challenges for devising efficient strategies that offload applications to the fog or the cloud layer while ensuring the optimal response time for a service. Traditional computation offloading ...
Highlights- Explore the impact of computation offloading on response time in IoT systems.
- ...
A survey on computation offloading and service placement in fog computing-based IoT
AbstractIn recent years, fog computing has emerged as a computing paradigm to support the computationally intensive and latency-critical applications for resource limited Internet of Things (IoT) devices. The main feature of fog computing is to push ...
Framework for context-aware computation offloading in mobile cloud computing
Computation offloading is a promising way to improve the performance as well as reducing the battery power consumption of a mobile application by executing some parts of the application on a remote server. Recent researches on mobile cloud computing ...
Comments